package com.me.study.javaBasic.finalAndStatic;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

/**
 * 
 *
 * @author ME
 * @date   2019/1/18 19:04
 */
public class TestCode {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s = "E:\\\\课程视频\\\\享学\\\\1.并发\\\\2018.05.06-1、线程基础、线程之间的共享和协作(1).ev4";
        // System.out.println(string2Unicode(s));

        s = "%U7487%U5267%U25BC%U7459%U55DB%UE576";
        s = s.toLowerCase().replace("%", "\\");
        // System.out.println(decodeUnicode(s));

        s = URLDecoder.decode("E%3A%5C%u7487%u5267%u25BC%u7459%u55DB%uE576%5C%u6D5C%uE0A2%uE11F%5C1.%u9A9E%u8DFA%u5F42%5C2018.05.06-1%u9286%u4F7A%u568E%u7ECB%u5B2A%u7180%u7EAD%u20AC%u9286%u4F7A%u568E%u7ECB%u5B29%u7BA3%u95C2%u5BF8%u6B91%u934F%u53D8%u97E9%u935C%u5C7D%u5D17%u6D631%29.ev4=0|0",
            "UTF-8");
        System.out.println(s);
    }

    /**
     * 将中文转换成Unicode编码
     * @param string
     * @return
     */
    public static String string2Unicode(String string) {//\u8239\u540d\u4e09    %u8239%u540D%u4E09
        StringBuffer unicode = new StringBuffer();
        for (int i = 0; i < string.length(); i++) {
            // 取出每一个字符
            char c = string.charAt(i);
            // 转换为unicode
            unicode.append("\\u" + Integer.toHexString(c));
        }
        return unicode.toString();
    }

    /**
     * 将Unicode编码转换成中文
     */
    public static String decodeUnicode(String unicode) {
        /** 以 \ u 分割，因为java注释也能识别unicode，因此中间加了一个空格*/
        String[] strs = unicode.split("\\\\u");
        String returnStr = "";
        // 由于unicode字符串以 \ u 开头，因此分割出的第一个字符是""。
        for (int i = 1; i < strs.length; i++) {
            returnStr += (char) Integer.valueOf(strs[i], 16).intValue();
        }
        return returnStr;
    }
}
